/*
 * @description:
 * @Author: jhw
 * @Date: 2025-06-30 10:37:42
 * @LastEditors: jhw
 * @LastEditTime: 2025-06-30 19:17:10
 */
import { reactive } from "./reactive.js";

const obj = {
  name: "jhw",
  age: 18,
  c: {
    d: 1,
    e: 2,
  },
};

// const proxy = reactive(obj);
// proxy.age = 20; // 修改属性
// proxy.age = 20; // 重复修改属性

// proxy.a = 100; // 添加新属性
// delete proxy.age; // 删除属性
// "age" in proxy; // 检查属性是否存在
// for (const key in proxy) {
//   console.log(key, proxy[key]);
// }

// ===============测试数组相关============================

const arr = [1, 2, obj];
const proxyArr = reactive(arr);
// 读取行为
// proxyArr[0];
// proxyArr.length;

// for (const key in proxyArr) {
//   proxyArr[key]; // 读取行为
// }

// proxyArr.includes(1); // 包含行为
// proxyArr.indexOf(1); // 包含行为
// console.log(proxyArr.includes(obj));

// 写入行为
// proxyArr[5] = 100; // 添加新元素
// proxyArr.length = 10; // 修改数组长度
// proxyArr.length = 1;
// proxyArr.push(3);
